-
Notifications
You must be signed in to change notification settings - Fork 277
Fix bool versus bitvec 1 sort mismtach for CVC4 #6205
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
This fixes a sort mismatch that can occur in CVC4 where an array of booleans is translated into an array of (_ bitvec 1) which is then a mismatch when CVC4 expects and can handle an Array of Bool.
All relevant solvers support arrays of bool now -- I'll do a PR that removes the |
Codecov Report
@@ Coverage Diff @@
## develop #6205 +/- ##
===========================================
+ Coverage 67.40% 74.95% +7.55%
===========================================
Files 1157 1456 +299
Lines 95236 161192 +65956
===========================================
+ Hits 64197 120829 +56632
- Misses 31039 40363 +9324
Flags with carried forward coverage won't be shown. Click here to find out more.
Continue to review full report at Codecov.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This seems like a work-around rather than a fix. If you can find the code that is generating the sort mismatch then you should be able to fix this properly.
@kroening @martin-cs It would be nice to approve and merge this PR to allow cvc4 to not error, regardless of future fixes to resolve the sort stuff generally as in #6206 . |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's merge this workaround, with a proper fix expected in #6206.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't approve but this will remove my "request changes".
@martin-cs Thanks. This is kind of a blocking concern for AWS since it prevents many things that should work with cvc4 from progressing. I agree a proper look at the SMT2 back end and fixing details there is preferable, but this is likely to be slow and/or caught up with other changes. Let's hope a proper solution is done in future. |
This fixes a sort mismatch that can occur in CVC4 where an
array of booleans is translated into an array of (_ bitvec 1)
which is then a mismatch when CVC4 expects and can handle an
Array of Bool.
This solves some of the problems in #5977 .
Note that there are NO TESTS for this since we do not support cvc4 in CI.